[INFO] fetching crate dgate 2.1.0...
[INFO] fixing dgate-2.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate dgate 2.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate dgate 2.1.0
[INFO] finished tweaking crates.io crate dgate 2.1.0
[INFO] tweaked toml for crates.io crate dgate 2.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dgate 2.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dgate 2.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4
[INFO] running `Command { std: "docker" "start" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling aws-lc-rs v1.15.3
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling zmij v1.0.15
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking openssl-probe v0.2.0
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]     Checking compression-core v0.4.31
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]     Checking compression-codecs v0.4.36
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking webpki-roots v1.0.5
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling cc v1.2.53
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking metrics v0.24.3
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking serde_spanned v1.0.4
[INFO] [stderr]     Checking toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking sketches-ddsketch v0.3.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.1
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]     Checking utf8-width v0.1.8
[INFO] [stderr]    Compiling redb v3.1.0
[INFO] [stderr]     Checking yaml-rust2 v0.10.4
[INFO] [stderr]     Checking byte-unit v5.2.0
[INFO] [stderr]     Checking serde-untagged v0.1.9
[INFO] [stderr]     Checking toml v0.9.11+spec-1.1.0
[INFO] [stderr]     Checking metrics-util v0.20.1
[INFO] [stderr]     Checking papergrid v0.17.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rust-ini v0.21.3
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling aws-lc-sys v0.36.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking testing_table v0.3.0
[INFO] [stderr]     Checking console v0.16.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking dialoguer v0.12.0
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling openraft-macros v0.9.21
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling tabled_derive v0.11.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking tabled v0.20.0
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking anyerror v0.1.13
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking ron v0.12.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking validit v0.2.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking async-compression v0.4.37
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking config v0.15.19
[INFO] [stderr]     Checking openraft v0.9.21
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]    Compiling rquickjs-sys v0.8.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]    Compiling rquickjs-core v0.8.1
[INFO] [stderr]    Compiling rquickjs-macro v0.8.1
[INFO] [stderr]     Checking rquickjs v0.8.1
[INFO] [stderr]     Checking dgate v2.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:11
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                          |
[INFO] [stdout]      |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:38
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |                                      ^^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1257:35
[INFO] [stdout]      |
[INFO] [stdout] 1257 |               while let Some(msg) = client_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                |
[INFO] [stdout]      |                              |      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1258 |                   match msg {
[INFO] [stdout] 1259 |                       Ok(axum::extract::ws::Message::Text(text)) => {
[INFO] [stdout]      |                                                           ----
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           `text` calls a custom destructor
[INFO] [stdout]      |                                                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1260 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1261 | |                             .send(WsMessage::Text(text.to_string().into()))
[INFO] [stdout] 1262 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1268 |                       Ok(axum::extract::ws::Message::Binary(data)) => {
[INFO] [stdout]      |                                                             ----
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             `data` calls a custom destructor
[INFO] [stdout]      |                                                             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1269 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1270 | |                             .send(WsMessage::Binary(data.to_vec().into()))
[INFO] [stdout] 1271 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1277 | |                     Ok(axum::extract::ws::Message::Ping(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1278 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1279 | |                             .send(WsMessage::Ping(data.to_vec().into()))
[INFO] [stdout] 1280 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1286 | |                     Ok(axum::extract::ws::Message::Pong(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1287 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1288 | |                             .send(WsMessage::Pong(data.to_vec().into()))
[INFO] [stdout] 1289 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1296 | |                         let _ = upstream_tx.send(WsMessage::Close(None)).await;
[INFO] [stdout]      | |                                 ----------------------------------------------
[INFO] [stdout]      | |                                 |                                        |
[INFO] [stdout]      | |                                 |                                        this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                                 |                                        `#17` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                 `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1300 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1305:35
[INFO] [stdout]      |
[INFO] [stdout] 1305 |               while let Some(msg) = upstream_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                  |
[INFO] [stdout]      |                              |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1306 |                   match msg {
[INFO] [stdout] 1307 |                       Ok(WsMessage::Text(text)) => {
[INFO] [stdout]      |                                          ----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `text` calls a custom destructor
[INFO] [stdout]      |                                          `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1308 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1309 | |                             .send(axum::extract::ws::Message::Text(text.to_string().into()))
[INFO] [stdout] 1310 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 |                       Ok(WsMessage::Binary(data)) => {
[INFO] [stdout]      |                                            ----
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            `data` calls a custom destructor
[INFO] [stdout]      |                                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1317 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1318 | |                             .send(axum::extract::ws::Message::Binary(data.to_vec().into()))
[INFO] [stdout] 1319 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1325 | |                     Ok(WsMessage::Ping(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1326 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1327 | |                             .send(axum::extract::ws::Message::Ping(data.to_vec().into()))
[INFO] [stdout] 1328 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1334 | |                     Ok(WsMessage::Pong(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1335 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1336 | |                             .send(axum::extract::ws::Message::Pong(data.to_vec().into()))
[INFO] [stdout] 1337 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1344 |                           let _ = client_tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout] 1345 | |                             .send(axum::extract::ws::Message::Close(None))
[INFO] [stdout] 1346 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |______________________________|___`#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                |   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1353 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1576:33
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         while let Some(chunk) = recv_body.data().await {
[INFO] [stdout]      |                        -----    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |        |                |
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        |        |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `chunk` calls a custom destructor
[INFO] [stdout]      |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 1577 |             match chunk {
[INFO] [stdout] 1578 |                 Ok(data) => {
[INFO] [stdout]      |                    ----
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `data` calls a custom destructor
[INFO] [stdout]      |                    `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1579 |                     // Release flow control capacity
[INFO] [stdout] 1580 |                     let _ = recv_body.flow_control().release_capacity(data.len());
[INFO] [stdout]      |                             -----------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1583 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1588 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cluster/raft/mod.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[async_trait]
[INFO] [stdout]     |              - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, RaftMetrics<u64, BasicNode>>`
[INFO] [stdout] ...
[INFO] [stdout] 341 |         self.raft.metrics().borrow().current_leader
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         a temporary with access to the borrow is created here ...
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let x = self.raft.metrics().borrow().current_leader; x
[INFO] [stdout]     |         +++++++                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/storage/mod.rs:197:15
[INFO] [stdout]      |
[INFO] [stdout]  185 |         let read_txn = self
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `read_txn` calls a custom destructor
[INFO] [stdout]      |             `read_txn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  191 |         let table = match read_txn.open_table(table_def) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `table` calls a custom destructor
[INFO] [stdout]      |             `table` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |         match table.get(key) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree_base.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl<V: Value + 'static> Drop for AccessGuard<'_, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `read_txn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `read_txn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/db.rs:282:1
[INFO] [stdout]      |
[INFO] [stdout]  282 | impl Drop for TransactionGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/config/mod.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:11
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                          |
[INFO] [stdout]      |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:38
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |                                      ^^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1257:35
[INFO] [stdout]      |
[INFO] [stdout] 1257 |               while let Some(msg) = client_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                |
[INFO] [stdout]      |                              |      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1258 |                   match msg {
[INFO] [stdout] 1259 |                       Ok(axum::extract::ws::Message::Text(text)) => {
[INFO] [stdout]      |                                                           ----
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           `text` calls a custom destructor
[INFO] [stdout]      |                                                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1260 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1261 | |                             .send(WsMessage::Text(text.to_string().into()))
[INFO] [stdout] 1262 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1268 |                       Ok(axum::extract::ws::Message::Binary(data)) => {
[INFO] [stdout]      |                                                             ----
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             `data` calls a custom destructor
[INFO] [stdout]      |                                                             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1269 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1270 | |                             .send(WsMessage::Binary(data.to_vec().into()))
[INFO] [stdout] 1271 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1277 | |                     Ok(axum::extract::ws::Message::Ping(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1278 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1279 | |                             .send(WsMessage::Ping(data.to_vec().into()))
[INFO] [stdout] 1280 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1286 | |                     Ok(axum::extract::ws::Message::Pong(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1287 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1288 | |                             .send(WsMessage::Pong(data.to_vec().into()))
[INFO] [stdout] 1289 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1296 | |                         let _ = upstream_tx.send(WsMessage::Close(None)).await;
[INFO] [stdout]      | |                                 ----------------------------------------------
[INFO] [stdout]      | |                                 |                                        |
[INFO] [stdout]      | |                                 |                                        this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                                 |                                        `#17` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                 `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1300 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1305:35
[INFO] [stdout]      |
[INFO] [stdout] 1305 |               while let Some(msg) = upstream_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                  |
[INFO] [stdout]      |                              |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1306 |                   match msg {
[INFO] [stdout] 1307 |                       Ok(WsMessage::Text(text)) => {
[INFO] [stdout]      |                                          ----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `text` calls a custom destructor
[INFO] [stdout]      |                                          `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1308 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1309 | |                             .send(axum::extract::ws::Message::Text(text.to_string().into()))
[INFO] [stdout] 1310 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 |                       Ok(WsMessage::Binary(data)) => {
[INFO] [stdout]      |                                            ----
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            `data` calls a custom destructor
[INFO] [stdout]      |                                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1317 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1318 | |                             .send(axum::extract::ws::Message::Binary(data.to_vec().into()))
[INFO] [stdout] 1319 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1325 | |                     Ok(WsMessage::Ping(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1326 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1327 | |                             .send(axum::extract::ws::Message::Ping(data.to_vec().into()))
[INFO] [stdout] 1328 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1334 | |                     Ok(WsMessage::Pong(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1335 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1336 | |                             .send(axum::extract::ws::Message::Pong(data.to_vec().into()))
[INFO] [stdout] 1337 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1344 |                           let _ = client_tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout] 1345 | |                             .send(axum::extract::ws::Message::Close(None))
[INFO] [stdout] 1346 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |______________________________|___`#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                |   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1353 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1576:33
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         while let Some(chunk) = recv_body.data().await {
[INFO] [stdout]      |                        -----    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |        |                |
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        |        |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `chunk` calls a custom destructor
[INFO] [stdout]      |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 1577 |             match chunk {
[INFO] [stdout] 1578 |                 Ok(data) => {
[INFO] [stdout]      |                    ----
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `data` calls a custom destructor
[INFO] [stdout]      |                    `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1579 |                     // Release flow control capacity
[INFO] [stdout] 1580 |                     let _ = recv_body.flow_control().release_capacity(data.len());
[INFO] [stdout]      |                             -----------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1583 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1588 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cluster/raft/mod.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[async_trait]
[INFO] [stdout]     |              - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, RaftMetrics<u64, BasicNode>>`
[INFO] [stdout] ...
[INFO] [stdout] 341 |         self.raft.metrics().borrow().current_leader
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         a temporary with access to the borrow is created here ...
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let x = self.raft.metrics().borrow().current_leader; x
[INFO] [stdout]     |         +++++++                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/storage/mod.rs:197:15
[INFO] [stdout]      |
[INFO] [stdout]  185 |         let read_txn = self
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `read_txn` calls a custom destructor
[INFO] [stdout]      |             `read_txn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  191 |         let table = match read_txn.open_table(table_def) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `table` calls a custom destructor
[INFO] [stdout]      |             `table` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |         match table.get(key) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree_base.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl<V: Value + 'static> Drop for AccessGuard<'_, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `read_txn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `read_txn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/db.rs:282:1
[INFO] [stdout]      |
[INFO] [stdout]  282 | impl Drop for TransactionGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/dgate-cli.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:11
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                          |
[INFO] [stdout]      |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:38
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |                                      ^^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1257:35
[INFO] [stdout]      |
[INFO] [stdout] 1257 |               while let Some(msg) = client_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                |
[INFO] [stdout]      |                              |      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1258 |                   match msg {
[INFO] [stdout] 1259 |                       Ok(axum::extract::ws::Message::Text(text)) => {
[INFO] [stdout]      |                                                           ----
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           `text` calls a custom destructor
[INFO] [stdout]      |                                                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1260 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1261 | |                             .send(WsMessage::Text(text.to_string().into()))
[INFO] [stdout] 1262 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1268 |                       Ok(axum::extract::ws::Message::Binary(data)) => {
[INFO] [stdout]      |                                                             ----
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             `data` calls a custom destructor
[INFO] [stdout]      |                                                             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1269 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1270 | |                             .send(WsMessage::Binary(data.to_vec().into()))
[INFO] [stdout] 1271 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1277 | |                     Ok(axum::extract::ws::Message::Ping(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1278 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1279 | |                             .send(WsMessage::Ping(data.to_vec().into()))
[INFO] [stdout] 1280 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1286 | |                     Ok(axum::extract::ws::Message::Pong(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1287 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1288 | |                             .send(WsMessage::Pong(data.to_vec().into()))
[INFO] [stdout] 1289 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1296 | |                         let _ = upstream_tx.send(WsMessage::Close(None)).await;
[INFO] [stdout]      | |                                 ----------------------------------------------
[INFO] [stdout]      | |                                 |                                        |
[INFO] [stdout]      | |                                 |                                        this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                                 |                                        `#17` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                 `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1300 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1305:35
[INFO] [stdout]      |
[INFO] [stdout] 1305 |               while let Some(msg) = upstream_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                  |
[INFO] [stdout]      |                              |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1306 |                   match msg {
[INFO] [stdout] 1307 |                       Ok(WsMessage::Text(text)) => {
[INFO] [stdout]      |                                          ----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `text` calls a custom destructor
[INFO] [stdout]      |                                          `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1308 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1309 | |                             .send(axum::extract::ws::Message::Text(text.to_string().into()))
[INFO] [stdout] 1310 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 |                       Ok(WsMessage::Binary(data)) => {
[INFO] [stdout]      |                                            ----
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            `data` calls a custom destructor
[INFO] [stdout]      |                                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1317 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1318 | |                             .send(axum::extract::ws::Message::Binary(data.to_vec().into()))
[INFO] [stdout] 1319 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1325 | |                     Ok(WsMessage::Ping(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1326 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1327 | |                             .send(axum::extract::ws::Message::Ping(data.to_vec().into()))
[INFO] [stdout] 1328 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1334 | |                     Ok(WsMessage::Pong(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1335 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1336 | |                             .send(axum::extract::ws::Message::Pong(data.to_vec().into()))
[INFO] [stdout] 1337 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1344 |                           let _ = client_tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout] 1345 | |                             .send(axum::extract::ws::Message::Close(None))
[INFO] [stdout] 1346 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |______________________________|___`#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                |   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1353 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1576:33
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         while let Some(chunk) = recv_body.data().await {
[INFO] [stdout]      |                        -----    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |        |                |
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        |        |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `chunk` calls a custom destructor
[INFO] [stdout]      |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 1577 |             match chunk {
[INFO] [stdout] 1578 |                 Ok(data) => {
[INFO] [stdout]      |                    ----
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `data` calls a custom destructor
[INFO] [stdout]      |                    `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1579 |                     // Release flow control capacity
[INFO] [stdout] 1580 |                     let _ = recv_body.flow_control().release_capacity(data.len());
[INFO] [stdout]      |                             -----------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1583 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1588 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cluster/raft/mod.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[async_trait]
[INFO] [stdout]     |              - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, RaftMetrics<u64, BasicNode>>`
[INFO] [stdout] ...
[INFO] [stdout] 341 |         self.raft.metrics().borrow().current_leader
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         a temporary with access to the borrow is created here ...
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let x = self.raft.metrics().borrow().current_leader; x
[INFO] [stdout]     |         +++++++                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/storage/mod.rs:197:15
[INFO] [stdout]      |
[INFO] [stdout]  185 |         let read_txn = self
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `read_txn` calls a custom destructor
[INFO] [stdout]      |             `read_txn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  191 |         let table = match read_txn.open_table(table_def) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `table` calls a custom destructor
[INFO] [stdout]      |             `table` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |         match table.get(key) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree_base.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl<V: Value + 'static> Drop for AccessGuard<'_, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `read_txn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `read_txn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/db.rs:282:1
[INFO] [stdout]      |
[INFO] [stdout]  282 | impl Drop for TransactionGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:11
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                          |
[INFO] [stdout]      |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/admin/mod.rs:1000:38
[INFO] [stdout]      |
[INFO] [stdout]  994 |     let cluster = state
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cluster` calls a custom destructor
[INFO] [stdout]      |         `cluster` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     match cluster.propose(changelog).await {
[INFO] [stdout]      |                                      ^^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1012 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cluster` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]      |
[INFO] [stdout]  489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/join.rs:353:1
[INFO] [stdout]      |
[INFO] [stdout]  353 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]      |
[INFO] [stdout]  871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/watch.rs:1013:1
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cluster` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openraft-0.9.21/src/core/tick.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / impl<C> Drop for TickHandle<C>
[INFO] [stdout]   42 | | where C: RaftTypeConfig
[INFO] [stdout]      | |_______________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1257:35
[INFO] [stdout]      |
[INFO] [stdout] 1257 |               while let Some(msg) = client_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                |
[INFO] [stdout]      |                              |      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1258 |                   match msg {
[INFO] [stdout] 1259 |                       Ok(axum::extract::ws::Message::Text(text)) => {
[INFO] [stdout]      |                                                           ----
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           `text` calls a custom destructor
[INFO] [stdout]      |                                                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1260 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1261 | |                             .send(WsMessage::Text(text.to_string().into()))
[INFO] [stdout] 1262 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1268 |                       Ok(axum::extract::ws::Message::Binary(data)) => {
[INFO] [stdout]      |                                                             ----
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             `data` calls a custom destructor
[INFO] [stdout]      |                                                             `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1269 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1270 | |                             .send(WsMessage::Binary(data.to_vec().into()))
[INFO] [stdout] 1271 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1277 | |                     Ok(axum::extract::ws::Message::Ping(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1278 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1279 | |                             .send(WsMessage::Ping(data.to_vec().into()))
[INFO] [stdout] 1280 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1286 | |                     Ok(axum::extract::ws::Message::Pong(data)) => {
[INFO] [stdout]      | |                                                         ----
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1287 |                           if upstream_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1288 | |                             .send(WsMessage::Pong(data.to_vec().into()))
[INFO] [stdout] 1289 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1296 | |                         let _ = upstream_tx.send(WsMessage::Close(None)).await;
[INFO] [stdout]      | |                                 ----------------------------------------------
[INFO] [stdout]      | |                                 |                                        |
[INFO] [stdout]      | |                                 |                                        this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                                 |                                        `#17` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                 `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1300 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1305:35
[INFO] [stdout]      |
[INFO] [stdout] 1305 |               while let Some(msg) = upstream_rx.next().await {
[INFO] [stdout]      |                              ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |      |                  |
[INFO] [stdout]      |                              |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                              |      up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `msg` calls a custom destructor
[INFO] [stdout]      |                              `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 1306 |                   match msg {
[INFO] [stdout] 1307 |                       Ok(WsMessage::Text(text)) => {
[INFO] [stdout]      |                                          ----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `text` calls a custom destructor
[INFO] [stdout]      |                                          `text` will be dropped later as of Edition 2024
[INFO] [stdout] 1308 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout] 1309 | |                             .send(axum::extract::ws::Message::Text(text.to_string().into()))
[INFO] [stdout] 1310 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                              |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1316 |                       Ok(WsMessage::Binary(data)) => {
[INFO] [stdout]      |                                            ----
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            `data` calls a custom destructor
[INFO] [stdout]      |                                            `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1317 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1318 | |                             .send(axum::extract::ws::Message::Binary(data.to_vec().into()))
[INFO] [stdout] 1319 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |______________________________|___`#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1325 | |                     Ok(WsMessage::Ping(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 1326 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1327 | |                             .send(axum::extract::ws::Message::Ping(data.to_vec().into()))
[INFO] [stdout] 1328 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1334 | |                     Ok(WsMessage::Pong(data)) => {
[INFO] [stdout]      | |                                        ----
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 1335 |                           if client_tx
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]      | |____________________________|
[INFO] [stdout] 1336 | |                             .send(axum::extract::ws::Message::Pong(data.to_vec().into()))
[INFO] [stdout] 1337 | |                             .await
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |______________________________|___`#12` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1344 |                           let _ = client_tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout] 1345 | |                             .send(axum::extract::ws::Message::Close(None))
[INFO] [stdout] 1346 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |______________________________|___|
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |______________________________|___`#15` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                |   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1353 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/proxy/mod.rs:1576:33
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         while let Some(chunk) = recv_body.data().await {
[INFO] [stdout]      |                        -----    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |        |                |
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        |        |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `chunk` calls a custom destructor
[INFO] [stdout]      |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 1577 |             match chunk {
[INFO] [stdout] 1578 |                 Ok(data) => {
[INFO] [stdout]      |                    ----
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `data` calls a custom destructor
[INFO] [stdout]      |                    `data` will be dropped later as of Edition 2024
[INFO] [stdout] 1579 |                     // Release flow control capacity
[INFO] [stdout] 1580 |                     let _ = recv_body.flow_control().release_capacity(data.len());
[INFO] [stdout]      |                             -----------------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1583 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1588 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.0/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cluster/raft/mod.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[async_trait]
[INFO] [stdout]     |              - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, RaftMetrics<u64, BasicNode>>`
[INFO] [stdout] ...
[INFO] [stdout] 341 |         self.raft.metrics().borrow().current_leader
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         a temporary with access to the borrow is created here ...
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let x = self.raft.metrics().borrow().current_leader; x
[INFO] [stdout]     |         +++++++                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/storage/mod.rs:197:15
[INFO] [stdout]      |
[INFO] [stdout]  185 |         let read_txn = self
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `read_txn` calls a custom destructor
[INFO] [stdout]      |             `read_txn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  191 |         let table = match read_txn.open_table(table_def) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `table` calls a custom destructor
[INFO] [stdout]      |             `table` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |         match table.get(key) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree_base.rs:237:1
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl<V: Value + 'static> Drop for AccessGuard<'_, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `read_txn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `read_txn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/db.rs:282:1
[INFO] [stdout]      |
[INFO] [stdout]  282 | impl Drop for TransactionGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `table` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redb-3.1.0/src/tree_store/btree.rs:1015:1
[INFO] [stdout]      |
[INFO] [stdout] 1015 | impl<K: Key, V: Value> Drop for Btree<K, V> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: dgate v2.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking dgate v2.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4", kill_on_drop: false }`
[INFO] [stdout] 44a57e7c77270095a5c3ba1e8c38676e233ef2ef991eedf80f6ba655906954f4
